﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ForrajeriaDB; //ESTE USING VA EN TODOS LOS ELEMENTOS DE ESTA CAPA
using System.Data;
using System.Data.SqlClient;


namespace ForrajeriaDAL
{
    public class DetalleFacturaDAL : AccesoDAL, InterfazDAL<DetalleFacturaMO>
    {
        private static string insert = "DetalleFactura_INSERT";
        private static string all = "Factura_GetALL";

        private SqlCommand cmd; //var de comando sql

        #region Interfaz



        public List<DetalleFacturaMO> GetAll()
        {
            throw new NotImplementedException();
        }

        public void Adicionar(DetalleFacturaMO item)
        {
            cmd = new SqlCommand(insert,getConexion());
            cmd.CommandType = CommandType.StoredProcedure;
            
            cmd.Parameters.Add("@nroFactura",SqlDbType.Int).Value = item.NroFactura;
            cmd.Parameters.Add("@nroLinea", SqlDbType.Int).Value = item.NroLinea;
            cmd.Parameters.Add("@forraje", SqlDbType.Int).Value = item.Forraje;
            cmd.Parameters.Add("@precio", SqlDbType.Decimal).Value = item.Precio;
            cmd.Parameters.Add("@cantidad", SqlDbType.Decimal).Value = item.Cantidad;
            if(item.Descripcion != "")
            cmd.Parameters.Add("@descripcion",SqlDbType.VarChar).Value = item.Descripcion;

            try
            {
                opencon();
                cmd.ExecuteNonQuery();
                closecon();
            }
            catch(Exception ex)
            {
                closecon();
                throw ex;
            }
        }

        public void Eliminar(DetalleFacturaMO item)
        {
            throw new NotImplementedException();
        }

        public void Actualizar(DetalleFacturaMO nuevoItem, DetalleFacturaMO origItem)
        {
            throw new NotImplementedException();
        }
        #endregion

        #region Constructores
        private static DetalleFacturaDAL instance;

        private DetalleFacturaDAL()
            : base()
        {

        }


        public static DetalleFacturaDAL Instance
        {
            get
            {
                if (instance == null)
                {
                    instance = new DetalleFacturaDAL();
                }
                return instance;
            }
        }


        #endregion

    }

}
